/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package base;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Patricio Garces
 */
public class Bus {
    conectate con;
    
    public Bus(){
        con = new conectate();
  } 
  
  /*Añade un nuevo registro*/
   public void NuevoBus(String patente, String rut, String marca,String modelo, String año, String capacidad){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into " + 
                    "Bus(patente_bus, rut_chofer, marca_bus,modelo_bus,año_bus,capacidad_bus ) " +
                    " values(?,?,?,?,?,?)");            
            pstm.setString(1, patente);
            pstm.setString(2, rut);
            pstm.setString(3, marca);
            pstm.setString(4, modelo);
            pstm.setString(5, año);
            pstm.setString(6, capacidad);
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }

     public void updateBus(String id,String patente, String rut, String marca,String modelo, String año, String capacidad){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("update Bus " +
            "set patente = ? ," +
            "rut = ? ," +
            "marca= ? ," +                    
            "modelo = ? " +
            "año = ? " +
            "capacidad = ? " +
            "where id = ? ");            
            pstm.setString(1, patente);                   
            pstm.setString(2, rut);
            pstm.setString(3, marca);
            pstm.setString(4, modelo);
            pstm.setString(5, año);
            pstm.setString(6, capacidad);
            pstm.setString(7, String.valueOf(id));
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }
   
   public void deleteBus(String cod){  
            try {                
                PreparedStatement pstm = con.getConnection().prepareStatement("delete from bus where id = ?");            
                pstm.setString(1, cod);                   
                pstm.execute();
                pstm.close();            
            }catch(SQLException e){
            System.out.println(e);
            }            
   }


    
 /*obtenemos todos los datos de la tabla*/
 public Object [][] getDatos(){
      int registros = 0;
      //obtenemos la cantidad de registros existentes en la tabla
      try{         
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM bus ");
         ResultSet res = pstm.executeQuery();
         res.next();
         registros = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      }
      
    Object[][] data = new String[registros][5];  
    //realizamos la consulta sql y llenamos los datos en "Object"
      try{    
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
            " id, patente, rut, marca, modelo, año, capacidad " +
            " FROM Bus" +
            " ORDER BY id ");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String estCodigo = res.getString("id");
            String estPatente = res.getString("patente");
            String estRut = res.getString("rut");
            String estMarca = res.getString("marca");
            String estModelo = res.getString("modelo");
            String estAño = res.getString("año");
            String estCapacidad = res.getString("capacidad");
            data[i][0] = estCodigo;
            data[i][1] = estPatente;            
            data[i][2] = estRut;            
            data[i][3] = estMarca;            
            data[i][4] = estModelo;            
            data[i][5] = estAño;
            data[i][6] = estCapacidad;
            i++;
         }
         res.close();
          }catch(SQLException e){
         System.out.println(e);
    }
    return data;
        
    }
    
}
